解题思路:
第一处:在函数fun体中,t是一个指针型变量,因此定义形参时也应定义指针。
第二处:条件应该s>0,所以应改为:while(s>0)。
***************************************************
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组 s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
int fun( STREC a[] )
{
}
main()
{ STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};
int i;FILE *out ;
fun( s );
printf("The data after sorted :\n");
for(i=0;i { if( (i)%4==0 )printf("\n");
printf("%s M ",s[i].num,s[i].s);
}
printf("\n");
out = fopen("c:\\test\\out.dat","w") ;
for(i=0;i { if( (i)%4==0 && i) fprintf(out, "\n");
fprintf(out, "M ",s[i].s);
}
fprintf(out,"\n");
fclose(out) ;
}